简介
本文的目的是搭建一个具备elk日志监控的springmvc程序,代码里面将日志输出到redis里面,然后logstash配置input和output,将日志信息从redis里面取出来,然后放入Elasticsearch,然后启动kinaba,配置索引对应关系即可。最终可以通过kinaba可以实时看到日志,利于分析查询。
搭建一个springmvc的程序
这里我直接给出仓库地址:
点我一下就到了
这里要注意下。我们把日志输出到了对应的redis里面。
<appender name="LOGSTASH" class="com.cwbase.logback.RedisAppender">
<source>SpringELK</source>
<type>dev-type</type>
<tags>dev</tags>
<host>127.0.0.1</host>
<port>6379</port>
<key>logstash</key>
</appender>
软件下载
1,下载6.3.0版本的kinaba,Elasticsearch,logstash。
2,下载redis。
主要配置修改
1.Elasticsearch 在其配置文件Elasticsearch.yml
http.cors.enabled: true
http.cors.allow-origin: "*"
2.logstash 新建配置文件。
input {
redis {
data_type => "list"
key => "logstash"
host => "127.0.0.1" #redis-server
port => 6379
batch_count => "1"
threads => 5
}
}
output {
elasticsearch {
hosts => ["http://localhost:9200"]
index => "%{logstash}-%{+YYYY.MM.dd}"
#user => "elastic"
#password => "changeme"
}
}
启动顺序
1.启动redis。
2.在tomcat里面启动spring mvc代码
3.启动Elasticsearch。浏览器进入 http://localhost:9200/
4.进入到logstash的bin 目录,输入logstash -f ..config/redis.conf来根据配置文件来启动logstash。浏览器进入http://localhost:9600/
5.直接启动kinaba 浏览器进入http://localhost:5601,然后配置es的索引,最终在discover里面成功看到了我们的日志。